package com.logic.system.service;

import java.io.InputStream;
import java.util.HashMap;
import java.util.List;

import org.glassfish.jersey.media.multipart.FormDataContentDisposition;

import com.logic.common.exception.BusinessException;
import com.logic.common.service.ICRUDService;
import com.logic.system.domain.SystemFile;

public interface IFileService extends ICRUDService {

    SystemFile insert(SystemFile systemFile, InputStream file, FormDataContentDisposition fileDisposition)
            throws BusinessException;

    SystemFile insert(SystemFile systemFile, InputStream file, FormDataContentDisposition fileDisposition, String file_name)
            throws BusinessException;

    Object get(String id) throws BusinessException;

    SystemFile update(SystemFile systemFile, InputStream file, FormDataContentDisposition fileDisposition)
            throws BusinessException;

    String getRemoteFullPath(String fileName);

    void deleteFile(String filePath);

    List<SystemFile> getFilesByIds(String fileIds);

    List<SystemFile> getFilesByMap(HashMap map);

}
